module uart_tx#(
   parameter CLK_FREQ = 50000000,
   parameter UART_BPS = 115200

)(
   input  clk,
   input  rst_n,
   input  en,
   output wire[3:0] led
);


//计算器值

parameter  MAX_CNT =50000000 ;

reg[31:0] cnt=0;
wire add_cnt;
wire end_cnt;
reg  out;

//第一段：同步时序always模块，格式化描述次态寄存器迁移到现态寄存器(不需更改）
always @(posedge clk or negedge rst_n)begin
	if(!rst_n)begin
		cnt <= 0;
	end
	else if(add_cnt)begin
		if(end_cnt)
			cnt <= 0;
		else
			cnt <= cnt + 1;
	end
end


//第二段：设计转移条件
assign add_cnt = 1;
assign end_cnt = add_cnt && cnt== MAX_CNT-1;


//第三段：同步时序always模块,输出
always @(posedge clk or negedge rst_n)begin
    if(rst_n==1'b0)
       out<=0;
    else if(end_cnt)
       out<=!out;
end

assign led = {out,out,~out,~out};


endmodule
